943ff0d78df0b5e01fa5bdeb0ab82647bfdd3daa,Mage/src/mage/abilities/effects/common/search/SearchLibraryPutOnLibraryEffect.java,SearchLibraryPutOnLibraryEffect,apply,#Game#Ability#,77

Before Change


        }
        // shuffle
        if (forceShuffle)
            player.shuffleLibrary(game);
        return false;
    }

After Change


    @Override
    public boolean apply(Game game, Ability source) {
        Player controller = game.getPlayer(source.getControllerId());
        MageObject sourceObject = game.getObject(source.getSourceId());
        if (controller == null || sourceObject == null) {
            return false;
        }
        if (controller.searchLibrary(target, game)) {
            List<Card> cards = new ArrayList<>();
            for (UUID cardId: (List<UUID>)target.getTargets()) {
                Card card = controller.getLibrary().remove(cardId, game);
                if (card != null) {
                    cards.add(card);
                }
            }
            Cards foundCards = new CardsImpl();
            foundCards.addAll(cards);
            if (reveal) {
                controller.revealCards(sourceObject.getLogName(), foundCards, game);
            }
            if (forceShuffle) {
                controller.shuffleLibrary(game);
            }
            if (cards.size() > 0) {
                game.informPlayers(controller.getName() + " moves " + cards.size() + " card" + (cards.size() == 1 ? " ":"s ") + "on top of his or her library");
            }
            for (Card card: cards) {                
                card.moveToZone(Zone.LIBRARY, source.getSourceId(), game, true);
            }
            return true;
        }
        // shuffle
        if (forceShuffle) {
            controller.shuffleLibrary(game);
        }
        return false;
    }